package com.young.lib_fragments.utils

import androidx.fragment.app.FragmentManager
import com.young.lib_fragments.fms.BaseLazyFragment

/**
 * @author huangzehui
 * @date 2025/1/26 01:03 周日
 * @description 分发 onWindowFocusChanged 的执行
 *
 * 一级fragment的onWindowFocusChanged可以自动派发，二级及之后的根据具体业务，在一级的 onWindowFocusChanged 中调用当前派发方法即可
 */
object DispatchOnWindowFocusUtil {

    /**
     * 分发 onWindowFocus
     *
     * @param fmManager Fragment 管理器
     * @param hasFocus 是否获取焦点, true: 已获取焦点 false：未获取焦点
     */
    fun disPathOnWindowFocusChanged(fmManager: FragmentManager?, hasFocus: Boolean) {
        val fragments = fmManager?.fragments ?: return
        for (fragment in fragments) {
            if (fragment is BaseLazyFragment) {
                fragment.triggerOnWindowFocusChanged(hasFocus)
            }
        }
    }

}